<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- opencl11.qdoc -->
  <title>OpenCL 1.1 support in QtOpenCL</title>
  <link rel="stylesheet" type="text/css" href="style/style.css" />
  <script src="scripts/jquery.js" type="text/javascript"></script>
  <script src="scripts/functions.js" type="text/javascript"></script>
  <script src="./scripts/superfish.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="style/superfish.css" />  <script src="./scripts/narrow.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="style/narrow.css" />
  <!--[if IE]>
<meta name="MSSmartTagsPreventParsing" content="true">
<meta http-equiv="imagetoolbar" content="no">
<![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="style/style_ie6.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="style/style_ie7.css">
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="style/style_ie8.css">
<![endif]-->
</head>
<body class="" onload="CheckEmptyAndLoadList();">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top" width="150"><img src="images/qt-logo.png" align="left" border="0" />&nbsp;&nbsp;<img src="images/qtopencl-logo.png" border="0" /></td>
<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"> <a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="qtopencl-all-classes.html"><font color="#004faf">All Classes</font></a></td>
</table>              <li>OpenCL 1.1 support in QtOpenCL</li><h1 class="title">OpenCL 1.1 support in QtOpenCL</h1>
<span class="subtitle"></span>
<!-- $$$opencl11.html-description -->
<div class="descr"> <a name="details"></a>
<p>The <a href="http://www.khronos.org/registry/cl/">OpenCL 1.1 specification</a> was released in June 2010. The following modifications have been made to QtOpenCL to support the new version of the standard:</p>
<ul>
<li><a href="qclplatform.html#versionFlags">QCLPlatform::versionFlags</a>() and <a href="qcldevice.html#versionFlags">QCLDevice::versionFlags</a>() to more easily detect which version of OpenCL is present on the system.</li>
<li>Added <a href="qclcontext.html#createUserEvent">QCLContext::createUserEvent</a>() and <a href="qcluserevent.html">QCLUserEvent</a> to support the creation and management of user events.</li>
<li>New <a href="qcldevice.html">QCLDevice</a> queries: <a href="qcldevice.html#languageVersion">languageVersion()</a>, <a href="qcldevice.html#preferredHalfFloatVectorSize">preferredHalfFloatVectorSize()</a>, <a href="qcldevice.html#hasUnifiedMemory">hasUnifiedMemory()</a>, <a href="qcldevice.html#nativeCharVectorSize">nativeCharVectorSize()</a>, <a href="qcldevice.html#nativeShortVectorSize">nativeShortVectorSize()</a>, etc.</li>
<li>The <tt>setOutOfOrder()</tt> and <tt>setProfilingEnabled()</tt> functions have been removed from <a href="qclcommandqueue.html">QCLCommandQueue</a> because OpenCL 1.1 has deprecated the functionality, and we want to have API consistency between OpenCL 1.0 and 1.1&#x2e; Command queue properties can be set when the queue is created with <a href="qclcontext.html#createCommandQueue">QCLContext::createCommandQueue</a>().</li>
<li>New channel orders have been added to <a href="qclimageformat.html">QCLImageFormat</a> for the <tt>CL_Rx</tt>, <tt>CL_RGx</tt>, and <tt>CL_RGBx</tt> values.</li>
<li>Support for sub-buffers in <a href="qclbuffer.html">QCLBuffer</a>: <a href="qclbuffer.html#createSubBuffer">createSubBuffer()</a>, <a href="qclbuffer.html#createSubBuffer">parentBuffer()</a>, and <a href="qclbuffer.html#createSubBuffer">offset()</a>.</li>
<li>Added <a href="qclkernel.html#preferredWorkSizeMultiple">QCLKernel::preferredWorkSizeMultiple</a>().</li>
<li>Rectangle operations on <a href="qclbuffer.html">QCLBuffer</a>: <a href="qclbuffer.html#readRect">readRect()</a>, <a href="qclbuffer.html#readRectAsync">readRectAsync()</a>, <a href="qclbuffer.html#writeRect">writeRect()</a>, <a href="qclbuffer.html#writeRectAsync">writeRectAsync()</a>, <a href="qclbuffer.html#copyToRect">copyToRect()</a>, and <a href="qclbuffer.html#copyToRectAsync">copyToRectAsync()</a>.</li>
</ul>
<p><a href="index.html">Return to Home</a></p>
</div>
<!-- @@@opencl11.html -->
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
<td align="left">Copyright &copy; 2010 Nokia Corporation</td>
<td align="right">QtOpenCL Documentation</td>
</tr></table></div></address>  <script src="scripts/functions.js" type="text/javascript"></script>
  <script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-4457116-5']);
  _gaq.push(['_trackPageview']);
  (function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
  </script>
</body>
</html>
